package com.sf.web.intercptor;

import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@Component
public class CheckLoginIntectpor implements HandlerInterceptor {
    /**
     * 拦截器
     * 有前置拦截和后置拦截
     * 一个访问到控制器之前拦截 一个是访问之后进行拦截
     * 登录: 前置拦截
     */
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        //返回true 表示放行 返回false 表示拦截
        // 1 判断用户是否有登录
        // 上session 中获取用户信息, 如果有表示登录了, 如果没有表示没有登录
        Object username = request.getSession().getAttribute("USERNAME_IN_SESSION");
        if(username == null){
            // 跳转到登录界面
            response.sendRedirect("/login.html");
            return false;
        }
        return true;
    }
}
